package com.wesley.future.Controller;

import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import com.wesley.future.Dao.GrupoDao;
import com.wesley.future.DaoImp.GrupoDaoImp;
import com.wesley.future.Model.Grupo;



@ManagedBean
@SessionScoped
public class GrupoController implements Serializable{
	private Grupo grupo;
	private DataModel listaGrupo;
	private Grupo selectedGrupo;
	
	
	public DataModel getListaGrupo(){
		List<Grupo> lista = new GrupoDaoImp().list();
		listaGrupo = new ListDataModel(lista);
		return listaGrupo;
	}
	
	public Grupo getGrupo(){
		if(grupo == null){  
	        grupo = new Grupo();  
	    }  
	  
		    return grupo;  
	}
	
	public void setGrupo(Grupo grupo){
		this.grupo = grupo;
	}
	
	public void prepararAdicionarGrupo(ActionEvent actionEvent) {
		grupo = new Grupo();
	}
	
	public void prepararAlterarGrupo(ActionEvent actionEvent){
		grupo = (Grupo)(selectedGrupo);
	}
	
	public String excluirGrupo(){
		Grupo grupoTemp = (Grupo)(listaGrupo.getRowData());
		GrupoDao dao = new GrupoDaoImp();
		dao.remove(grupoTemp);
		return "index";
		
	}
	
	public void adicionarGrupo(ActionEvent actionEvent){
		GrupoDao dao = new GrupoDaoImp();
		dao.save(grupo);

	}
	public void alterarGrupo(ActionEvent actionEvent){
		GrupoDao dao = new GrupoDaoImp();
		dao.update(grupo);
	}

	public Grupo getSelectedGrupo() {
		return selectedGrupo;
	}

	public void setSelectedGrupo(Grupo selectedGrupo) {
		this.selectedGrupo = selectedGrupo;
	}
	
	
	
}
